package com.dkts.oil.mysql.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.sql.Timestamp;

@Data
@Schema(description = "AIS 轨迹点信息")
public class AisPoint {

    @Schema(description = "自增主键 ID", example = "1")
    private Integer id;

    @Schema(description = "海事移动服务识别码 MMSI", example = "369970969")
    private Long mmsi;

    @Schema(description = "IMO 编号", example = "7823463")
    private String imo;

    @Schema(description = "船舶国籍", example = "美国")
    private String nationality;

    @Schema(description = "船名", example = "U.S. GOV VESSEL")
    private String name;

    @Schema(description = "呼号", example = "NWIC")
    private String callsign;

    @Schema(description = "船长（米）", example = "250.0")
    private Double length;

    @Schema(description = "船宽（米）", example = "32.0")
    private Double width;

    @Schema(description = "AIS 安装点到左舷距离（米）", example = "20.0")
    private Double left;

    @Schema(description = "AIS 安装点到船尾距离（米）", example = "70.0")
    private Double tail;

    @Schema(description = "吃水深度（米）", example = "255.0")
    private Double draught;

    @Schema(description = "船舶类型", example = "10")
    private Integer shiptype;


    @Schema(description = "目的地", example = "USNNS")
    private String dest;

    @Schema(description = "预计到达时间（UTC 字符串）", example = "2021-08-20 08:00")
    private String eta;

    @Schema(description = "经度", example = "-76.317257")
    private Double lon;

    @Schema(description = "纬度", example = "36.867047")
    private Double lat;

    @Schema(description = "航向角 Heading（度）", example = "228.0")
    private Double hdg;

    @Schema(description = "对地航向 COG（度）", example = "153.7")
    private Double cog;

    @Schema(description = "对地速度 Speed（节）", example = "0.1")
    private Double speed;

    @Schema(description = "转向速率 ROT（度/分钟）", example = "0.0")
    private Double rot;

    @Schema(description = "时间戳（UTC 时间）", example = "2021-08-20T08:00:00Z")
    private Timestamp time;



    @Schema(description = "标准化 ETA 时间", example = "2021-08-20T08:00:00Z")
    private Timestamp etaStd;

    @Schema(description = "导航状态", example = "0")
    private Integer navistat;

    @Schema(description = "距离,公里", example = "0.0")
    private double distance;

    @Schema(description = "时间间隔,分钟", example = "0.0")
    private double timeInterval;

    @Schema(description = "分段序号，同一船舶轨迹中分段的顺序编号", example = "1")
    private Integer segmentIndex;

    @Schema(description = "导入的唯一标识，用于轨迹分组等", example = "UNIQUE_123456")
    private String uidkey;

}
